package com.baikeyang.service.user;

import com.baikeyang.common.bean.ResponseResult;
import com.baikeyang.common.model.User;
import com.baikeyang.service.base.ISuperService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;
import java.util.Set;

/**
 * Created by lenovo on 2018/7/12.
 */
public interface IUserService extends ISuperService<User> {

    User getUserByLoginName(String loginName);

    User getUserById(Long id);

    User getUserByLoginNameAndPassword(String loginName, String password);

    List<User> getUsers();

    /**
     * 查询用户（分页）
     * @param pageParam
     * @return
     */
    IPage<User> getUsersPage(Page<User> pageParam);

    /**
     * 保存用户
     * @param user
     * @return
     */
    ResponseResult saveUser(User user);

    /**
     * 更新用户
     * @param user
     * @return
     */
    ResponseResult update(User user);

    /**
     * 删除用户
     * @param ids
     * @return
     */
    ResponseResult delete(String ids);

    /**
     * 根据用户获取用户角色信息
     * @param userId
     * @return
     */
    Set<String> getRoleByUserId(Long userId);

}
